gh-145219: Cache Emscripten libffi and mpdec builds, add install-emscripten cmd#145664
Merged
freakboy3742 merged 4 commits intopython:mainfrom Mar 11, 2026
Merged
gh-145219: Cache Emscripten libffi and mpdec builds, add install-emscripten cmd#145664freakboy3742 merged 4 commits intopython:mainfrom
freakboy3742 merged 4 commits intopython:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This moves the emsdk install from
{emsdk_cache}/{emscripten_version}to{emsdk_cache}/{emscripten_version}/emsdkso that we can put the prefix at `emsdk_cache_dir/{emscripten_version}/prefix.I moved the data about mpdec & libffi version, url, and shasum into config.toml along with the emscripten version. Then as a cache key I write the library config section to disk in the prefix dir like
{libname}.json. I write it as a json file since tomllib can't write toml. On subsequent builds, if prefix/{libname}.json contains the same data then we can skip a rebuild.I also added an install-emscripten command to make it easy to get this directory structure correct.